﻿#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

//使用do while循环在屏幕上打印1-10的值
//int main()
//{
//	int i = 1;
//	do
//	{
//		printf("%d ", i);
//		i++;
//	} while (i <= 10);
//	return 0;
//}

//计算一个数有多少位
//int main()
//{
//	int a = 0;
//	int count = 0;
//	scanf("%d", &a);
//	do
//	{
//		count++;
//		a = a / 10;
//	} while (a);
//	printf("%d\n", count);
//	return 0;
//}

//break语句用于打破循环
//continue 是用于跳过本次循环的continue 后边的代码,直接去判断部分，看是否进行下一次判断

//int main()
//{
//	int i = 1;
//	while (i <= 10)
//	{
//		if (i == 5)
//			continue;//这里死循环了
//
//		printf("%d ", i);
//		i++;
//	}
//
//	return 0;
//}

//int main()
//{
//	for (int i = 1; i <= 10; i++)
//	{
//		if (i == 5)
//			break;
//		printf("%d ", i);
//	}
//	return 0;
//}

//int main()
//{
//	for (int i = 1; i <= 10; i++)
//	{
//		if (i == 5)
//			continue;
//		printf("%d ", i);
//	}
//	return 0;
//}

//找出100-200之间的素数，并打印在屏幕上
//素数又称质数，只能被1和本身整除的数字

//两层for循环嵌套在一起
//int main()
//{
//	int i = 0;
//	int count = 0;
//	for (i = 100; i <= 200; i++)
//	{
//		//循环产生2~i-1的数字
//		int j = 0;
//		int flag = 1;//假设i是素数
//		for (j = 2; j <= i - 1; j++)//2~i-1去试除
//		{
//			if (i % j == 0)
//			{
//				flag = 0;//证明不是素数
//				break;
//			}
//		}
//		if (flag == 1)//是素数
//		{
//			printf("%d ", i);
//			count++;
//		}
//	}
//
//	printf("\n%d", count);
//	return 0;
//}

#include <stdlib.h>
#include <time.h>

//1.随机数的生成
//2.猜数字的过程需要循环
//int main()
//{
//	//srand(1);//换基准值(种子)生成的随机数就会和之前不一样
//	srand((unsigned int)time(NULL));
//
//	//time函数可以返回一个时间戳
//
//	printf("%d\n", rand());//%100--->0-99
//	printf("%d\n", rand());//%100+1--->1-100
//	printf("%d\n", rand());
//	printf("%d\n", rand());
//	printf("%d\n", rand());//算法生成的伪随机数
//
//
//
//	return 0;
// } 

//void menu()
//{
//	printf("**************\n");
//	printf("***1. play****\n");
//	printf("***0. exit****\n");
//	printf("**************\n");
//}
//
//void game()
//{
//	int count = 5;
//	int guess = 0;
//	//1.生成随机数
//	int ret = rand()%100+1;
//	//printf("%d\n", ret);
//	//2.猜数字
//	while (count)
//	{
//		printf("你现在还有%d次机会\n", count);
//		printf("请输入要猜的数字:>");
//		scanf("%d", &guess);
//		if (guess < ret)
//		{
//			printf("猜小了\n");
//		}
//		else if (guess > ret)
//		{
//			printf("猜大了\n");
//		}
//		else
//		{
//			printf("恭喜你，猜对了，数字是:%d\n", ret);
//			break;
//		}
//		count--;
//	}
//	if (count == 0)
//	{
//		printf("很遗憾，五次机会使用完了，挑战失败\n");
//	}
//}
//
//int main()
//{
//	int input =0 ; 
//	srand((unsigned int)time(NULL));
//	do
//	{
//		menu();
//		printf("请选择:>");
//		scanf("%d", &input);//1 0
//		switch (input)
//		{
//		case 1:
//			game();
//			printf("猜数字\n");
//			break;
//		case 0:
//			printf("退出游戏\n");
//			break;
//		default:
//			printf("选择错误，重新选择\n");
//			break;
//		}
//		//...
//	} while (input);
//
//	return 0;
//}

//第二钟count++
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

void menu()
{
	printf("**************\n");
	printf("***1. play****\n");
	printf("***0. exit****\n");
	printf("**************\n");
}

void game()
{
	int guess = 0;
	int count = 0;  // 增加次数计数变量
	//1.生成随机数
	int ret = rand() % 100 + 1;
	//printf("%d\n", ret);
	//2.猜数字
	while (1)
	{
		printf("请输入要猜的数字:>");
		scanf("%d", &guess);
		count++;  // 每次猜测次数加 1
		if (guess < ret)
		{
			printf("猜小了\n");
		}
		else if (guess > ret)
		{
			printf("猜大了\n");
		}
		else
		{
			printf("恭喜你，猜对了，数字是:%d\n", ret);
			break;
		}
		if (count == 5)  // 当次数达到 5 次时退出
		{
			printf("很遗憾，您 5 次都没猜对，游戏结束。\n");
			break;
		}
	}
}

int main()
{
	int input = 0;
	srand((unsigned int)time(NULL));
	do
	{
		menu();
		printf("请选择:>");
		scanf("%d", &input);//1 0
		switch (input)
		{
		case 1:
			game();
			printf("猜数字\n");
			break;
		case 0:
			printf("退出游戏\n");
			break;
		default:
			printf("选择错误，重新选择\n");
			break;
		}
		//...
	} while (input);

	return 0;
}

